package com.haibo.entity.model;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.*;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * @Author : 刘海波
 * @Date: 2025/9/22 11:19
 * @Description: 【三级卡控消息提醒】
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@Accessors(chain = true)
@ToString(callSuper = true)
@EqualsAndHashCode(callSuper = false)
@TableName(value = "three_level_card_control_reminder")
public class ThreeLevelCardControlReminderDO implements Serializable {

    /**
     * 主键
     */
    @TableField(value = "id")
    private Long id;

    /**
     * 病案号（住院场景有值）
     */
    @TableField(value = "case_history_id")
    private String caseHistoryId;

    /**
     * 预约号  (门诊场景有值)
     */
    @TableField(value = "reservation_no")
    private String reservationNo;

    /**
     * 就诊场景 1、门诊 2、住院
     */
    @TableField(value = "scene")
    private Integer scene;

    /**
     * 就诊号
     */
    @TableField(value = "visit_id")
    private String visitId;

    /**
     * 患者ID
     */
    @TableField(value = "patient_id")
    private String patientId;

    /**
     * 问题提醒等级
     */
    @TableField(value = "level")
    private Integer level;

    /**
     * 质控的文书类型ID（此数据会用到拼接的url链接里面）： 1：入院记录 2：病程记录 3：出院记录 4：医患沟通记录 5：病案首页 6：门诊病历
     */
    @TableField(value = "type_id")
    private Integer typeId;

    /**
     * 提醒等级对应的问题数量
     */
    @TableField(value = "ques_num")
    private Integer quesNum;

    /**
     * 消息是否已读（初始值为false，医院读取后由医院标记为true）
     * 1：已读、0：未读
     */
    @TableField(value = "is_read")
    private Integer isRead;

    /**
     * 消息读取时间（初始值为空，医院读取后由医院修改为当前时间）
     * 格式：YYYY-MM-DD HH:MM:SS
     */
    @TableField(value = "read_time")
    private LocalDateTime readTime;

    /**
     * 创建时间，格式：YYYY-MM-DD HH:MM:SS
     */
    @TableField(value = "create_time")
    private LocalDateTime createTime;

    /**
     * 更新时间，格式：YYYY-MM-DD HH:MM:SS
     */
    @TableField(value = "update_time")
    private LocalDateTime updateTime;

    /**
     * 逻辑删除标识。1：已删除、0：未删除
     */
    @TableField(value = "status")
    private Integer status;

}
